﻿using System;
using System.Threading;

public class AlarmClock
{
    // 定义 Tick 事件
    public event EventHandler Tick;
    // 定义 Alarm 事件
    public event EventHandler Alarm;

    // 闹钟时间（秒）
    public int AlarmTime { get; set; }
    // 当前时间（秒）
    private int currentTime;

    public AlarmClock(int alarmTime)
    {
        AlarmTime = alarmTime;
        currentTime = 0;
    }

    // 启动闹钟
    public void Start()
    {
        while (currentTime <= AlarmTime)
        {
            Thread.Sleep(1000); // 模拟 1 秒
            currentTime++;

            // 触发 Tick 事件
            Tick?.Invoke(this, EventArgs.Empty);

            // 如果到达闹钟时间，触发 Alarm 事件
            if (currentTime == AlarmTime)
            {
                Alarm?.Invoke(this, EventArgs.Empty);
            }
        }
    }
}